package com.example.movie.mate.pojo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 放映计划VO类
 */
@Data
@Schema(description = "放映计划VO类")
public class PlayScheduleVO implements Serializable {

    /**
     * 放映计划ID
     */
    @Schema(description = "放映计划ID")
    private Long id;

    /**
     * 电影ID
     */
    @Schema(description = "电影ID")
    private Long movieId;

    /**
     * 电影名称
     */
    @Schema(description = "电影名称")
    private String movieName;

    /**
     * 影厅ID
     */
    @Schema(description = "影厅ID")
    private Long hallId;

    /**
     * 影厅名称
     */
    @Schema(description = "影厅名称")
    private String hallName;

    /**
     * 放映开始时间
     */
    @Schema(description = "放映开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;

    /**
     * 放映结束时间
     */
    @Schema(description = "放映结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;

    /**
     * 票价
     */
    @Schema(description = "票价")
    private BigDecimal price;

    /**
     * 座位数量
     */
    @Schema(description = "座位数量")
    private Integer seatCount;

    /**
     * 座位库存数量
     */
    @Schema(description = "座位库存数量")
    private Integer seatStock;

}